/*
 * Created by JFormDesigner on Tue Dec 01 14:09:49 CST 2020
 */

package com.vallis.statis;

import java.awt.*;
import java.awt.event.*;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.time.LocalDateTime;
import java.time.Month;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;
import javax.swing.*;
import javax.swing.GroupLayout;
import javax.swing.plaf.*;
import javax.swing.table.*;
import javax.swing.tree.*;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.math.MathUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.jgoodies.forms.factories.*;


/**
 * @author unknown
 */
public class VallisStatis extends JFrame {
    
    
    private static final int MIN_PROGRESS = 0;
    private static final int MAX_PROGRESS = 100;
    Timer timer ;
    private static int currentProgress = MIN_PROGRESS;
    public VallisStatis() {
        initComponents();
    }
    
    public static void main(String[] args) {
        LocalDateTime now = LocalDateTime.now();
        VallisStatis v=new VallisStatis();
        if (now.isAfter( LocalDateTime.of(2020, Month.DECEMBER, 15, 0, 0, 0))){
            JOptionPane.showMessageDialog(
                    v,
                    "统计器内测版已过期，请联系作者升级最新版，作者微信：Vallis",
                    "警告",
                    JOptionPane.INFORMATION_MESSAGE
            );
            v.setVisible(false);
        }else {
            v.setVisible(true);
        }
       
       
        v.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    
    /**
     * 票面数据：1+0
     * @param e
     */
    private void type1ActionPerformed(ActionEvent e) {
    
    //获取输入的内容
       
        List<LotteryTicket> lottery = getLottery(table1);
    
        List<LotteryOutPut> calc = calc(lottery, 1);
        toExcel(calc,1,"票面数据1+0.xlsx");
       
        giveMsg(1,"票面数据1+0已统计完毕，请在D盘下查看票面数据1+0.xlsx");
    }
    
    public void showProgress(String msg,CalcActivity c){
        
        final  CalcActivity target=c;
        final Thread targetThread=new Thread(target);
        targetThread.start();
      
        final ProgressMonitor dialog=new ProgressMonitor(this,msg,"已完成：",0,100);
        timer=new Timer(300,e -> {
        dialog.setProgress(     target.getCurrent()  );
            if (dialog.isCanceled()){
                timer.stop();
        targetThread.interrupt();
        System.exit(0);
            }
    });
    timer.start();
    
    }
    /**
     * 消息提示框
     * @param type
     */
    public void giveMsg(int type,String msg){
        
        JOptionPane.showMessageDialog(
                this,
                     msg
                ,
                "成功",
                JOptionPane.INFORMATION_MESSAGE
        );
    }
    public void giveNo(int type,String msg){
        
        JOptionPane.showMessageDialog(
                this,
                msg
                ,
                "提示",
                JOptionPane.INFORMATION_MESSAGE
        );
    }
    /**
     * 将数据导出为Excel
     * 票面数据：
     *          1+0 1
     *          2+0 2
     *          3+0 3
     *          4+0 4
     *          5+0 5
     *          6+0 6
     *          0+1 7
     *          0+2 8
     * 实际数据：
     *          1+0 9
     *          2+0 10
     *          3+0 11
     *          4+0 12
     *          5+0 13
     *          6+0 14
     *          0+1 15
     *          0+2 16
     * @param calc
     * @param type
     */
    public void toExcel( List<LotteryOutPut> calc,int type,String name){
        //总数据
        List<List<Object>> rows =new ArrayList<>();
        List<List<Object>> rowsTemp =new ArrayList<>();
        List<Object> firstRow=new ArrayList<>();
        
        if (type<7 || (type>8 && type<15)){
            for (int i=0;i<type;i++){
                firstRow.add("前区号码");
            }
        }else if(type==7 ||type==15){
            firstRow.add("前区号码");
        }else if(type==8 ||type==16 ){
            firstRow.add("前区号码");
            firstRow.add("前区号码");
        }
        
        firstRow.add("出现次数");
        rows.add(firstRow);
        //每一行的数据
        calc.forEach(System.out::println);
        calc.forEach(item->{
            List<Object> everyRow=new ArrayList<>();
            String[] context = item.getContext();
            for (int i = 0; i < context.length; i++) {
                everyRow.add(Integer.parseInt(context[i]));
            }
            int times = item.getTimes();
            String s = Integer.toString(times);
            everyRow.add(times);
            rowsTemp.add(everyRow);
        });
        List<List<Object>> sort = CollUtil.sort(rowsTemp, new Comparator<List<Object>>() {
            @Override
            public int compare(List<Object> o1, List<Object> o2) {
                if (type==7 ||type==15){
                    return (int) o2.get(1) - (int) o1.get(1);
                }else if(type==8||type==16){
                    return (int) o2.get(2) - (int) o1.get(2);
                }
                return (int) o2.get(type) - (int) o1.get(type);
            }
        });
        rows.addAll(sort);
    
        //通过工具类创建writer
       
            ExcelWriter writer = ExcelUtil.getWriter("d:/"+name);
            //一次性写出内容，强制输出标题
            writer.write(rows, true);
//关闭writer，释放内存
            writer.close();
        
        
       

    
    
    }
    
    
    /**
     * 从table中获取数据
     * @return
     */
    public List<LotteryTicket> getLottery(JTable table){
        //获取表格中被选定的列数
        int[] selectedColumns = table.getSelectedRows();
        //计算总共选中多少张票
        int length = selectedColumns.length;
        
        List<LotteryTicket> calcTickets=new ArrayList<>();
      //将所有的票转换成List
        for (int i = 0; i < length; i++) {
            String front = (String) table.getValueAt(selectedColumns[i], 0);
            String end = (String) table.getValueAt(selectedColumns[i], 1);
//            Integer price = (Integer) table1.getValueAt(i, 1);
    
    
            String[] string = LotteryUtil.getString(front);
            int[] ints = LotteryUtil.stringArrayToInt(string);
            String[] string1 = LotteryUtil.getString(end);
            int[] ints1 = LotteryUtil.stringArrayToInt(string1);
            LotteryTicket ticket=new LotteryTicket(front,end,ints,ints1);
            calcTickets.add(ticket);
        }
       
            
        
    
    
        
        
        return calcTickets;
    }
    /**
     * 根据收集的数据和需要的类型返回相对应的数据
     * type:
     * 票面数据：
     *          1+0 ：1
     *          2+0 ：2
     *          3+0 ：3
     *          4+0 ：4
     *          5+0 ：5
     *          6+0 : 6
     *          0+1 ：7
     *          0+2 ：8
     * @param data
     * @param type
     */
    public List<LotteryOutPut> calc(List<LotteryTicket> data,int type){
        //新建输入内容
        List<LotteryOutPut> lotteryOutPuts=new ArrayList<>();
      
           
             //N+0集合
            List<String[]> typeList=new ArrayList<>();
            //去重用 n+0票
            List<LotteryTicket> typeTemp=new ArrayList<>();
    
    
      
            data.forEach(item->{
                //将原票的每个前区导出
                
                if (type<7){
                    String[] strings = LotteryUtil.intArrayToString(item.getFrontNumArray());
                    //将每个前区分解成N+0
                    List<String[]> strings1 = MathUtil.combinationSelect(strings, type);
                    //将所有N+0加到一个集合中
                    typeList.addAll(strings1);
                }else if (type>6){
                    String[] strings = LotteryUtil.intArrayToString(item.getEndNumArray());
                    //将每个前区分解成0+n
                    if (type==7){
                        List<String[]> strings1 = MathUtil.combinationSelect(strings, 1);
                        //将所有N+0加到一个集合中
                        typeList.addAll(strings1);
                                }else if (type==8){
                            List<String[]> strings1 = MathUtil.combinationSelect(strings, 2);
                        //将所有N+0加到一个集合中
                        typeList.addAll(strings1);
                                }
                   
                }
               
              
              
              
            });
            //将所有的N+0或0+N集合转换成LotteryTicket，目的是为了去重
             typeList.forEach(item->{
                
                     //新建一个LotteryTicket,装载单个N+0信息
                     LotteryTicket lotteryTicket=new LotteryTicket(Arrays.toString(item),Arrays.toString(item),LotteryUtil.stringArrayToInt(item),LotteryUtil.stringArrayToInt(item));
                     //添加入一个临时集合
                     typeTemp.add(lotteryTicket);
    
               
                
              
            });
            
            
            //对临时集合去重
            List<LotteryTicket> distinct = LotteryUtil.distinct(typeTemp);
        System.out.println("临时结合去重前大小"+typeTemp.size());
        System.out.println("临时集合：");
            distinct.forEach(System.out::println);
            //将临时集合中的每一个LotteryTicket 转换成输入内容
            distinct.forEach(item->{
                //将输出内容转换成String[]
                if (type<7){
                    String[] strings = LotteryUtil.intArrayToString(item.getFrontNumArray());
                    //新建一个输出内容
                    LotteryOutPut lotteryOutPut=new LotteryOutPut(strings);
                    //计算出现的次数
                    lotteryOutPut.setTimes(LotteryUtil.frequency(typeList,strings));
                    lotteryOutPut.setType(type);
                    //添加至输出内容
                    lotteryOutPuts.add(lotteryOutPut);
                }else if (type==7){
                    String[] strings = LotteryUtil.intArrayToString(item.getEndNumArray());
                    //新建一个输出内容
                    LotteryOutPut lotteryOutPut=new LotteryOutPut(strings);
                    //计算出现的次数
                    lotteryOutPut.setTimes(LotteryUtil.frequency(typeList,strings));
                    lotteryOutPut.setType(type);
                    //添加至输出内容
                    lotteryOutPuts.add(lotteryOutPut);
                }else if (type==8){
                    String[] strings = LotteryUtil.intArrayToString(item.getEndNumArray());
                    //新建一个输出内容
                    LotteryOutPut lotteryOutPut=new LotteryOutPut(strings);
                    //计算出现的次数
                    lotteryOutPut.setTimes(LotteryUtil.frequency(typeList,strings));
                    lotteryOutPut.setType(type);
                    //添加至输出内容
                    lotteryOutPuts.add(lotteryOutPut);
                }
               
            
            });
    
        
    
    
        
    
    
    return lotteryOutPuts;
    
    
    
    }
    
    
   
    
   
    
    /**
     * 消息返回框
     * @param e
     */
    private void button15ActionPerformed(ActionEvent e) {
        
        // 消息对话框无返回, 仅做通知作用
        JOptionPane.showMessageDialog(
                this,
                "Hello Information Message",
                "消息标题",
                JOptionPane.INFORMATION_MESSAGE
        );
    }
    
    /**
     *票面数据：2+0
     * @param e
     */
    private void type2ActionPerformed(ActionEvent e) {
       
    
        List<LotteryTicket> lottery = getLottery(table1);
     
        List<LotteryOutPut> calc = calc(lottery, 2);
        toExcel(calc,2,"票面数据2+0.xlsx");
     
        giveMsg(2,"票面数据2+0已统计完毕，请在D盘下查看票面数据2+0.xlsx");
    }
    
    /**
     * 票面数据：3+0
     * @param e
     */
    private void type3ActionPerformed(ActionEvent e) {
   
        //获取输入的内容
     
        List<LotteryTicket> lottery = getLottery(table1);
   
        List<LotteryOutPut> calc = calc(lottery, 3);
        toExcel(calc,3,"票面数据3+0.xlsx");
     
        giveMsg(3,"票面数据3+0已统计完毕，请在D盘下查看票面数据3+0.xlsx");
    }
    
    /**
     * 票面数据：4+0
     * @param e
     */
    private void type4ActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
      
        List<LotteryOutPut> calc = calc(lottery, 4);
        toExcel(calc,4,"票面数据4+0.xlsx");
      
        giveMsg(4,"票面数据4+0已统计完毕，请在D盘下查看票面数据4+0.xlsx");
    }
    
    /**
     * 票面数据：5+0
     * @param e
     */
    private void type5ActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        lottery.forEach(System.out::println);
        List<LotteryOutPut> calc = calc(lottery, 5);
        toExcel(calc,5,"票面数据5+0.xlsx");
     
        giveMsg(5,"票面数据5+0已统计完毕，请在D盘下查看票面数据5+0.xlsx");
    }
    
    /**
     * 票面数据：0+1
     * @param e
     */
    private void type6ActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        List<LotteryOutPut> calc = calc(lottery,7 );
        toExcel(calc,7,"票面数据0+1.xlsx");
        giveMsg(6,"票面数据0+1已统计完毕，请在D盘下查看票面数据0+1.xlsx");
    }
    
    /**
     * 票面数据：0+2
     * @param e
     */
    private void type7ActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        List<LotteryOutPut> calc = calc(lottery,8 );
        toExcel(calc,8,"票面数据0+2.xlsx");
     
        giveMsg(8,"票面数据0+2已统计完毕，请在D盘下查看票面数据0+2.xlsx");
    }
    
    
    /**
     * 计算彩票金额
     * @param e
     */
    private void calcPriceActionPerformed(ActionEvent e) {
        System.out.println("表格更新触发");
        int type=0;
       
       
    if (radioButton1.isSelected()){
    type=1;
    }else if(radioButton2.isSelected()){
    type=2;
    }
        System.out.println(type);
    
    
        int[] selectedColumns = table1.getSelectedRows();
        if(selectedColumns!=null){
            //计算总共选中多少张票
            int length = selectedColumns.length;
            System.out.println(length);
            
        
            //将所有的票转换成List
            for (int i = 0; i < length; i++) {
                String front = (String) table1.getValueAt(selectedColumns[i], 0);
                String end = (String) table1.getValueAt(selectedColumns[i], 1);
//            Integer price = (Integer) table1.getValueAt(i, 1);
    
                if((null!=front) && (null!=end)){
                    String[] string = LotteryUtil.getString(front);
                    String[] string1 = LotteryUtil.getString(end);
             
               
               
                
                if((null!=string) && (null!=string1)){
                    
                    Long singlePrice = LotteryUtil.getSinglePrice(string, string1,type);
                    table1.setValueAt(front,selectedColumns[i],0);
                    table1.setValueAt(end,selectedColumns[i],1);
                    table1.setValueAt(new Long(singlePrice).intValue(),selectedColumns[i],2);
                }else if(null==front ||null==end){
    
                    table1.setValueAt(front,selectedColumns[i],0);
                    table1.setValueAt(end,selectedColumns[i],1);
                    table1.setValueAt(0,selectedColumns[i],2);
                    
                }
    
    
                }
            
            
            
            
          
                
                table1.updateUI();
            }
        }
    }

    
    
    /**
     * 导入按钮动作
     * @param e
     */
    private void fileButtonActionPerformed(ActionEvent e) {
 
        System.out.println("打开文件选择器");
         fileChooser1.setVisible(true);
        int i = fileChooser1.showOpenDialog(menuItem1);
        String filepath = fileChooser1.getSelectedFile().getAbsolutePath();
    
        ExcelReader reader = ExcelUtil.getReader(filepath);
        List<List<Object>> readAll = reader.read();
        DefaultTableModel model = (DefaultTableModel) table1.getModel();
        model.setRowCount(readAll.size());
        for (int i1 = 0; i1 < readAll.size(); i1++) {
            List<Object> objects = readAll.get(i1);
    
            table1.setValueAt(objects.get(0),i1,0);
            table1.setValueAt(objects.get(1),i1,1);
           
        }
        table1.updateUI();
    }
    
    /**
     * 导出按钮
     * @param e
     */
    private void exportActionPerformed(ActionEvent e) {
      
        List<LotteryTicket> lottery = getLottery(table1);
        System.out.println(lottery.size());
        List<List<String>> rows = new ArrayList<>();
        List<String> everyRow=null;
        for (LotteryTicket lotteryTicket : lottery) {
        //初始化每一行
            everyRow=new ArrayList<>();
            System.out.println(lotteryTicket.getFrontNum());
            System.out.println(lotteryTicket.getEndNum());
            everyRow.add(   lotteryTicket.getFrontNum());
            everyRow.add(   lotteryTicket.getEndNum());
    
            rows.add(everyRow);
        }
        System.out.println(rows.size());
    
     
        //通过工具类创建writer
        ExcelWriter writer = ExcelUtil.getWriter("d:/原始数据.xlsx");
        //一次性写出内容，强制输出标题
        writer.write(rows, true);
        //关闭writer，释放内存
        writer.close();
    
        giveMsg(0,"表格中已选择的数据保存成功，请在D盘下查看->原始数据.xlsx");
    
    }
    
    /**
     * 实际数据1+0
     * @param e
     */
    private void calcByTrueActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        int ticketType=0;
        if (radioButton1.isSelected()){
            ticketType=1;
        }else if(radioButton2.isSelected()){
            ticketType=2;
        
        }
        List<LotteryOutPut> calc = LotteryUtil.calcByTrue(lottery,1 ,ticketType);
        toExcel(calc,1,"实际数据1+0.xlsx");
        giveNo(1,"实际数据的计算过程时间会很久，具体时间由您的电脑性能决定，1+0大概还需要4秒，请耐心等待");
        giveMsg(1,"实际数据1+0已统计完毕，请在D盘下查看实际数据1+0.xlsx");
    }
    
    /**
     * 实际数据2+0
     * @param e
     */
    private void calcByTrue2ActionPerformed(ActionEvent e) {
   
        List<LotteryTicket> lottery = getLottery(table1);
        long l1 = System.currentTimeMillis();
        int ticketType=0;
        if (radioButton1.isSelected()){
            ticketType=1;
        }else if(radioButton2.isSelected()){
            ticketType=2;
        
        }
        giveNo(1,"实际数据的计算过程时间会很久，具体时间由您的电脑性能决定，2+0大概还需要15秒，请耐心等待");
        List<LotteryOutPut> calc = LotteryUtil.calcByTrue(lottery,2 ,ticketType);
        long l2 = System.currentTimeMillis();
        long time=l2-l1;
      
        toExcel(calc,2,"实际数据2+0.xlsx");
        
        giveMsg(2,"实际数据2+0已统计完毕，共耗时"+time/1000+"秒，请在D盘下查看实际数据2+0.xlsx");
    }
    
    /**
     * 实际数据：3+0
     * @param e
     */
    private void type3ByTrueActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        long l1 = System.currentTimeMillis();
        giveNo(3,"实际数据的计算过程时间会很久，具体时间由您的电脑性能决定，3+0大概还需要50秒钟，请耐心等待");
        int ticketType=0;
        if (radioButton1.isSelected()){
            ticketType=1;
        }else if(radioButton2.isSelected()){
            ticketType=2;
        
        }
        List<LotteryOutPut> calc = LotteryUtil.calcByTrue(lottery,3 ,ticketType);
        toExcel(calc,3,"实际数据3+0.xlsx");
        long l2 = System.currentTimeMillis();
        long time=l2-l1;
    
        giveMsg(2,"实际数据3+0已统计完毕，共耗时"+time/1000+"秒，请在D盘下查看实际数据3+0.xlsx");
    }
    
    /**
     * 票面数据：6+0
     * @param e
     */
    private void button29ActionPerformed(ActionEvent e) {
    
    
    
        List<LotteryTicket> lottery = getLottery(table1);
        lottery.forEach(System.out::println);
     
        List<LotteryOutPut> calc = calc(lottery, 6);
        toExcel(calc,6,"票面数据6+0.xlsx");
        giveMsg(6,"票面数据6+0已统计完毕，请在D盘下查看票面数据6+0.xlsx");
    }
    
    /**
     * 实际数据：4+0
     * @param e
     */
    private void type4TrueActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        long l1 = System.currentTimeMillis();
        int ticketType=0;
        if (radioButton1.isSelected()){
            ticketType=1;
        }else if(radioButton2.isSelected()){
            ticketType=2;
        
        }
        giveNo(1,"实际数据的计算过程时间会很久，具体时间由您的电脑性能决定，4+0大概还需要3分钟左右，请耐心等待");
        List<LotteryOutPut> calc = LotteryUtil.calcByTrue(lottery,4 ,ticketType);
        toExcel(calc,4,"实际数据4+0.xlsx");
        long l2 = System.currentTimeMillis();
        long time=l2-l1;
       
        giveMsg(4,"实际数据4+0已统计完毕，共耗时"+time/1000+"秒，请在D盘下查看实际数据4+0.xlsx");
    }
    
    /**
     * 实际数据：5+0
     * @param e
     */
    private void type5TrueActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        long l1 = System.currentTimeMillis();
        int ticketType=0;
        if (radioButton1.isSelected()){
            ticketType=1;
        }else if(radioButton2.isSelected()){
            ticketType=2;
        
        }
        giveNo(1,"实际数据的计算过程时间会很久，具体时间由您的电脑性能决定，5+0大概还需要2分钟，请耐心等待");
        List<LotteryOutPut> calc = LotteryUtil.calcByTrue(lottery,5 ,ticketType);
        toExcel(calc,5,"实际数据5+0.xlsx");
        
        long l2 = System.currentTimeMillis();
        long time=l2-l1;
        giveMsg(5,"实际数据5+0已统计完毕，共耗时"+time/1000+"秒，请在D盘下查看实际数据5+0.xlsx");
    }
    
    /**
     * 实际数据：6+0
     * @param e
     */
    private void type6TrueActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        long l1 = System.currentTimeMillis();
        int ticketType=0;
        if (radioButton1.isSelected()){
            ticketType=1;
        }else if(radioButton2.isSelected()){
            ticketType=2;
        
        }
        giveNo(1,"实际数据的计算过程时间会很久，具体时间由您的电脑性能决定，6+0大概还需要2分钟，请耐心等待");
        List<LotteryOutPut> calc = LotteryUtil.calcByTrue(lottery,6 ,ticketType);
      
        toExcel(calc,6,"实际数据6+0.xlsx");
        long l2 = System.currentTimeMillis();
        long time=l2-l1;
        giveMsg(6,"实际数据6+0已统计完毕，共耗时"+time/1000+"秒，请在D盘下查看实际数据6+0.xlsx");
    }
    
    /**
     * 实际数据：0+1
     * @param e
     */
    private void type7TrueActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        int ticketType=0;
        if (radioButton1.isSelected()){
            ticketType=1;
        }else if(radioButton2.isSelected()){
            ticketType=2;
        
        }
        List<LotteryOutPut> calc = LotteryUtil.calcByTrue(lottery,7,ticketType );
        toExcel(calc,7,"实际数据0+1.xlsx");
     
        giveMsg(7,"实际数据0+1已统计完毕，请在D盘下查看实际数据0+1.xlsx");
    }
    
    /**
     * 实际数据：0+2
     * @param e
     */
    private void type8TrueActionPerformed(ActionEvent e) {
        List<LotteryTicket> lottery = getLottery(table1);
        int ticketType=0;
        if (radioButton1.isSelected()){
            ticketType=1;
        }else if(radioButton2.isSelected()){
            ticketType=2;
        
        }
        List<LotteryOutPut> calc = LotteryUtil.calcByTrue(lottery,8 ,ticketType);
        toExcel(calc,8,"实际数据0+2.xlsx");
      
        giveMsg(8,"实际数据0+2已统计完毕，请在D盘下查看实际数据0+2.xlsx");
    }

    private void radioButton1ActionPerformed(ActionEvent e) {
        button29.setVisible(false);
        button31.setVisible(false);
        button1.setVisible(true);
        button2.setVisible(true);
    }

    private void radioButton2ActionPerformed(ActionEvent e) {
        button29.setVisible(true);
        button31.setVisible(true);
        button1.setVisible(false);
        button2.setVisible(false);
    }
    
    /**
     * 关闭按钮
     * @param e
     */
    private void menuItem3ActionPerformed(ActionEvent e) {
        System.exit(0);
    }
    
    /**
     * 打开实票中奖情况的窗口
     * @param e
     */
    private void button17ActionPerformed(ActionEvent e) {
       dialog2.setVisible(true);
      
    }
    
    /**
     * 弹窗--请输入实票
     * @param e
     */
    private void button36ActionPerformed(ActionEvent e) {
        System.out.println("打开文件选择器");
        
       
        fileChooser1.setVisible(true);
        int i = fileChooser1.showOpenDialog(menuItem1);
        String filepath = fileChooser1.getSelectedFile().getAbsolutePath();
      
        ExcelReader reader = ExcelUtil.getReader(filepath);
        List<List<Object>> readAll = reader.read();
        DefaultTableModel model = (DefaultTableModel) table1.getModel();
        model.setRowCount(readAll.size());
        for (int i1 = 0; i1 < readAll.size(); i1++) {
            List<Object> objects = readAll.get(i1);
        
            table2.setValueAt(objects.get(0),i1,0);
            table2.setValueAt(objects.get(1),i1,1);
        
        }
        
        table2.updateUI();
    }
    
    /**
     * 开始计算按钮
     * @param e
     */
    private void button39ActionPerformed(ActionEvent e) {
        calcPrice();
    }
    private StringBuilder userInputNumber;
    public void  calcPrice(){
        userInputNumber=null;
        vListTemp=null;
        //大乐透还是双色球
        int type=0;
        if (radioButton3.isSelected()){
            type=1;
        }else if (radioButton4.isSelected()){
            type=2;
        }
        LotteryTicket lotteryTicket=null;
        //第一步，判断输入的开奖号是不是有问题
        System.out.println("票种类型是:"+type);
        try{
            if (type==1){
                System.out.println("检测是否执行");
                System.out.println("检测是否获取输入值"+formattedTextField1.getText());
                Integer fn1 = Integer.parseInt(formattedTextField1.getText()) ;
                Integer fn2 =  Integer.parseInt(formattedTextField2.getText()) ;
                Integer fn3 =  Integer.parseInt(formattedTextField3.getText()) ;
                Integer fn4 =  Integer.parseInt(formattedTextField4.getText()) ;
                Integer fn5 =  Integer.parseInt(formattedTextField5.getText()) ;
                Integer en1 =  Integer.parseInt(formattedTextField7.getText()) ;
                Integer en2 =  Integer.parseInt(formattedTextField8.getText()) ;
                StringBuilder frontString=new StringBuilder();
                StringBuilder endString=new StringBuilder();
                userInputNumber=new StringBuilder();
                userInputNumber.append(frontString).append("+").append(endString);
                System.out.println("输入的号码是："+fn1+","+fn2+","+fn3+","+fn4+","+fn5+"+"+en1+","+en2);
                frontString.append(fn1+","+fn2+","+fn3+","+fn4+","+fn5);
                endString.append(en1+","+en2);
            
                lotteryTicket=new LotteryTicket(frontString.toString(),endString.toString(),new int[]{fn1,fn2,fn3,fn4,fn5},new int[]{en1,en2});
            }else   if (type==2){
                Integer fn1 = Integer.parseInt(formattedTextField1.getText()) ; ;
                Integer fn2 = Integer.parseInt(formattedTextField2.getText()) ;
                Integer fn3 = Integer.parseInt(formattedTextField3.getText()) ;
                Integer fn4 = Integer.parseInt(formattedTextField4.getText()) ;
                Integer fn5 = Integer.parseInt(formattedTextField5.getText()) ;
                Integer fn6 = Integer.parseInt(formattedTextField6.getText()) ;
                Integer en1 = Integer.parseInt(formattedTextField7.getText()) ;
            
                StringBuilder frontString=new StringBuilder();
                StringBuilder endString=new StringBuilder();
                userInputNumber=new StringBuilder();
                userInputNumber.append(frontString).append("+").append(endString);
                frontString.append(fn1+","+fn2+","+fn3+","+fn4+","+fn5+","+fn6);
                endString.append(en1);
                lotteryTicket=new LotteryTicket(frontString.toString(),endString.toString(),new int[]{fn1,fn2,fn3,fn4,fn5,fn6},new int[]{en1});
            }
        
        
        
        }catch (Exception e1){
            giveMsg(1,"请输入正确的开奖号");
        }
        //获取到的实体票
        List<LotteryTicket> lottery = getLottery(table2);
    
        List<LotteryTicket> tickets = LotteryUtil.calcAwardByList(lottery, lotteryTicket, type);
        updateTable2(tickets,type);
        vListTemp=tickets;
    }
    public static   List<LotteryTicket> vListTemp;
    /**
     * 更新table2内容
     * @param tickets
     */
    private void updateTable2(List<LotteryTicket> tickets,int type){
        
        int[] selectedRows = table2.getSelectedRows();
     
        System.out.println(Arrays.toString(selectedRows));
        for (int i = 0; i < selectedRows.length; i++) {
            System.out.println("选中了第"+(selectedRows[i]+1)+"行");
            table2.setValueAt(tickets.get(i).getFrontNum(),selectedRows[i],0);
            table2.setValueAt(tickets.get(i).getEndNum(),selectedRows[i],1);
            table2.setValueAt(LotteryUtil.getSinglePrice(LotteryUtil.intArrayToString(tickets.get(i).getFrontNumArray()),LotteryUtil.intArrayToString(tickets.get(i).getEndNumArray()),type),selectedRows[i],2);
            table2.setValueAt(tickets.get(i).getAwardReport().getAwardMoney(),selectedRows[i],3);
            
        }
        
        
        
        for (int i = 0; i < tickets.size(); i++) {
        
        }
        table2.updateUI();
    }
    
    /**
     * 查看报告
     * @param e
     */
    private void button37ActionPerformed(ActionEvent e) {
            dialog3.setVisible(true);
        //大乐透还是双色球
        int type=0;
        if (radioButton3.isSelected()){
            type=1;
        }else if (radioButton4.isSelected()){
            type=2;
        }
        List<LotteryTicket> tickets=vListTemp;
        AtomicInteger first= new AtomicInteger();
        AtomicInteger second= new AtomicInteger();
        AtomicInteger third= new AtomicInteger();
        AtomicInteger fourth= new AtomicInteger();
        AtomicInteger fifth= new AtomicInteger();
        AtomicInteger sixth= new AtomicInteger();
        AtomicInteger seven= new AtomicInteger();
        AtomicInteger eight= new AtomicInteger();
        AtomicInteger ninth= new AtomicInteger();
        AtomicInteger no= new AtomicInteger();
        AtomicInteger money=new AtomicInteger();
        AtomicInteger price= new AtomicInteger();
        tickets.forEach(item->{
            System.out.println(item);
            first.addAndGet(item.getAwardReport().getFirst());
            second.addAndGet(item.getAwardReport().getSecond());
            third.addAndGet(item.getAwardReport().getThird());
            fourth.addAndGet(item.getAwardReport().getFourth());
            fifth.addAndGet(item.getAwardReport().getFifth());
            sixth.addAndGet(item.getAwardReport().getSixth());
            seven.addAndGet(item.getAwardReport().getSeventh());
            eight.addAndGet(item.getAwardReport().getEighth());
            ninth.addAndGet(item.getAwardReport().getNinth());
        money.addAndGet(item.getAwardReport().getAwardMoney());
            price.addAndGet(item.getPrice());
    
        });
    if (type==1){
        label2.setText(first.get()+"注"+"共计："+first.get()*1000000+"元");
        label4.setText(second.get()+"注"+"共计："+second.get()*200000+"元");
        label12.setText(third.get()+"注"+"共计："+third.get()*10000+"元");
        label13.setText(fourth.get()+"注"+"共计："+fourth.get()*3000+"元");
        label14.setText(fifth.get()+"注"+"共计："+fifth.get()*300+"元");
        label15.setText(sixth.get()+"注"+"共计："+sixth.get()*200+"元");
        label16 .setText(seven.get()+"注"+"共计："+seven.get()*100+"元");
        label17.setText(eight.get()+"注"+"共计："+eight.get()*15+"元");
        label20.setText(ninth.get()+"注"+"共计："+ninth.get()*5+"元");
        label23.setText("总花费金额为："+price.get()+"元");
        label24.setText("总中奖金额为："+money.get()+"元");
    
        NumberFormat numberFormat = NumberFormat.getInstance();
    
        numberFormat.setMaximumFractionDigits(2);
        String result = numberFormat.format((float)  money.get()/ (float)price.get()* 100);//所占百分比
        label25.setText("返奖率为："+result+"%");
    }else if(type==2){
        label2.setText(first.get()+"注"+"共计："+first.get()*5000000+"元");
        label4.setText(second.get()+"注"+"共计："+second.get()*200000+"元");
        label12.setText(third.get()+"注"+"共计："+third.get()*3000+"元");
        label13.setText(fourth.get()+"注"+"共计："+fourth.get()*200+"元");
        label14.setText(fifth.get()+"注"+"共计："+fifth.get()*10+"元");
        label15.setText(sixth.get()+"注"+"共计："+sixth.get()*5+"元");
        label9.setVisible(false);
        label16.setVisible(false);
        label10.setVisible(false);
        label17.setVisible(false);
        label11.setVisible(false);
        label20.setVisible(false);
        label23.setText("总花费金额为："+price.get()+"元");
        label24.setText("总中奖金额为："+money.get()+"元");
        NumberFormat numberFormat = NumberFormat.getInstance();
    
        numberFormat.setMaximumFractionDigits(2);
        String result = numberFormat.format((float)  money.get()/ (float)price.get()* 100);//所占百分比
        label25.setText("返奖率为："+result+"%");
    }
    
    }

    private void radioButton3ActionPerformed(ActionEvent e) {
       if (radioButton3.isSelected()){
           formattedTextField6.setEnabled(false);
           formattedTextField6.setVisible(false);
           formattedTextField8.setEnabled(true);
           formattedTextField8.setVisible(true);
       }
    }

    private void radioButton4ActionPerformed(ActionEvent e) {
        if (radioButton4.isSelected()){
            formattedTextField6.setEnabled(true);
            formattedTextField6.setVisible(true);
            formattedTextField8.setEnabled(false);
            formattedTextField8.setVisible(false);
        }
    }
    
    /**
     * 清空表格
     * @param e
     */
    private void button19ActionPerformed(ActionEvent e) {
    
        DefaultTableModel model = (DefaultTableModel) table1.getModel();
        model.setDataVector( new Object[][] {
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                        {null, null, null},
                },
                new String[] {
                        "\u524d\u533a", "\u540e\u533a", "\u4ef7\u503c"
                });
        // TODO add your code here
    }
/**
 *  单张彩票中奖详情
 */
    private void button38ActionPerformed(ActionEvent e) {
    
        
        
        calcPrice();
        List<LotteryTicket> lottery = getLottery(table2);
        title11.setText("前区:"+lottery.get(0).getFrontNum()+"后区："+lottery.get(0).getEndNum());
        title12.setText(userInputNumber.toString());
        LotteryTicket lotteryTicket = vListTemp.get(0);
        AwardReport awardReport = lotteryTicket.getAwardReport();
    
        System.out.println(awardReport);
    
        dialog4.setVisible(true);
        int first=awardReport.getFirst();
        int second = awardReport.getSecond();
        int third = awardReport.getThird();
        int fourth = awardReport.getFourth();
    
        int fifth = awardReport.getFifth();
        int sixth = awardReport.getSixth();
        int seventh = awardReport.getSeventh();
        int eighth = awardReport.getEighth();
        int ninth = awardReport.getNinth();
    
        title13.setText("一等奖："+first+"元"+"/n"+
                "二等奖："+second+"元"+"/n"+
                "三等奖："+third+"元"+"/n"+
                "四等奖："+fourth+"元"+"/n"+
                "五等奖："+fifth+"元"+"/n"+
                "六等奖："+sixth+"元"+"/n"+
                "七等奖："+seventh+"元"+"/n"+
                "八等奖："+eighth+"元"+"/n"+
                "九等奖："+ninth+"元"+"/n"
        );
        title14.setText(awardReport.getAwardMoney()+"元");
    }

    /**
     * 在实票中对比我的号码
     * @param e
     */
    private void button18ActionPerformed(ActionEvent e) {
    
    
        
    }
    
  
    private void initComponents() {
        // JFormDesigner - Component initialization - DO NOT MODIFY  //GEN-BEGIN:initComponents
        // Generated using JFormDesigner Evaluation license - unknown
        DefaultComponentFactory compFactory = DefaultComponentFactory.getInstance();
        menuBar = new JMenuBar();
        file = new JMenu();
        menuItem1 = new JMenuItem();
        menuItem2 = new JMenuItem();
        menuItem3 = new JMenuItem();
        menu1 = new JMenu();
        tabbedPane2 = new JTabbedPane();
        panel1 = new JPanel();
        panel3 = new JPanel();
        scrollPane1 = new JScrollPane();
        table1 = new JTable();
        title1 = compFactory.createTitle("\u8bf7\u5728\u6b64\u5904\u8f93\u5165\u5b9e\u7968");
        radioButton1 = new JRadioButton();
        radioButton2 = new JRadioButton();
        button30 = new JButton();
        button19 = new JButton();
        panel5 = new JPanel();
        scrollPane2 = new JScrollPane();
        textPane1 = new JTextPane();
        panel4 = new JPanel();
        separator2 = compFactory.createSeparator("\u57fa\u7840\u529f\u80fd", SwingConstants.CENTER);
        button4 = new JButton();
        button5 = new JButton();
        button6 = new JButton();
        button7 = new JButton();
        button8 = new JButton();
        button29 = new JButton();
        button3 = new JButton();
        button1 = new JButton();
        button9 = new JButton();
        button10 = new JButton();
        button11 = new JButton();
        button12 = new JButton();
        button13 = new JButton();
        button31 = new JButton();
        button14 = new JButton();
        button2 = new JButton();
        title3 = compFactory.createTitle("\u7968\u9762\u6570\u636e");
        title4 = compFactory.createTitle("\u5b9e\u9645\u6570\u636e");
        panel2 = new JPanel();
        separator1 = compFactory.createSeparator("\u57fa\u672c\u8ba1\u7b97", SwingConstants.CENTER);
        separator3 = compFactory.createSeparator("\u9ad8\u7ea7\u8ba1\u7b97", SwingConstants.CENTER);
        panel9 = new JPanel();
        button17 = new JButton();
        button18 = new JButton();
        button34 = new JButton();
        panel10 = new JPanel();
        button16 = new JButton();
        button32 = new JButton();
        button33 = new JButton();
        button35 = new JButton();
        panel11 = new JPanel();
        scrollPane4 = new JScrollPane();
        tree1 = new JTree();
        dialog1 = new JDialog();
        button15 = new JButton();
        title2 = compFactory.createTitle("text");
        fileChooser1 = new JFileChooser();
        dialog2 = new JDialog();
        panel14 = new JPanel();
        scrollPane3 = new JScrollPane();
        table2 = new JTable();
        panel15 = new JPanel();
        panel16 = new JPanel();
        separator6 = compFactory.createSeparator("\u7b2c\u4e00\u6b65\uff0c\u5bfc\u5165\u5b9e\u7968\uff0c\u9009\u62e9\u7968\u79cd");
        button36 = new JButton();
        radioButton3 = new JRadioButton();
        radioButton4 = new JRadioButton();
        panel17 = new JPanel();
        separator7 = compFactory.createSeparator("\u7b2c\u4e8c\u6b65\uff0c\u8f93\u5165\u5f00\u5956\u53f7");
        formattedTextField1 = new JFormattedTextField();
        formattedTextField2 = new JFormattedTextField();
        formattedTextField3 = new JFormattedTextField();
        formattedTextField4 = new JFormattedTextField();
        formattedTextField5 = new JFormattedTextField();
        formattedTextField6 = new JFormattedTextField();
        formattedTextField7 = new JFormattedTextField();
        formattedTextField8 = new JFormattedTextField();
        title5 = compFactory.createTitle("\u524d\u533a");
        title6 = compFactory.createTitle("\u540e\u533a");
        button39 = new JButton();
        panel18 = new JPanel();
        separator8 = compFactory.createSeparator("\u7b2c\u4e09\u6b65,\u67e5\u770b\u62a5\u544a");
        button37 = new JButton();
        button38 = new JButton();
        dialog3 = new JDialog();
        panel6 = new JPanel();
        separator4 = compFactory.createSeparator("\u6837\u672c\u4e2d\u5956\u62a5\u544a", SwingConstants.CENTER);
        label1 = compFactory.createLabel("\u4e00\u7b49\u5956\uff1a");
        label2 = compFactory.createLabel("text");
        label3 = compFactory.createLabel("\u4e8c\u7b49\u5956\uff1a");
        label4 = compFactory.createLabel("text");
        label5 = compFactory.createLabel("\u4e09\u7b49\u5956\uff1a");
        label6 = compFactory.createLabel("\u56db\u7b49\u5956\uff1a");
        label7 = compFactory.createLabel("\u4e94\u7b49\u5956\uff1a");
        label8 = compFactory.createLabel("\u516d\u7b49\u5956\uff1a");
        label9 = compFactory.createLabel("\u4e03\u7b49\u5956\uff1a");
        label10 = compFactory.createLabel("\u516b\u7b49\u5956\uff1a");
        label11 = compFactory.createLabel("\u4e5d\u7b49\u5956\uff1a");
        label12 = compFactory.createLabel("text");
        label13 = compFactory.createLabel("text");
        label14 = compFactory.createLabel("text");
        label15 = compFactory.createLabel("text");
        label16 = compFactory.createLabel("text");
        label17 = compFactory.createLabel("text");
        label20 = compFactory.createLabel("text");
        label21 = compFactory.createLabel("\u5b9e\u7968\u603b\u82b1\u8d39\uff1a");
        label22 = compFactory.createLabel("\u603b\u4e2d\u5956\u91d1\u989d\uff1a");
        label23 = compFactory.createLabel("text");
        label24 = compFactory.createLabel("text");
        label25 = compFactory.createLabel("text");
        dialog4 = new JDialog();
        title7 = compFactory.createTitle("\u8be5\u5f69\u7968\u4e3a\uff1a");
        title8 = compFactory.createTitle("\u5f00\u5956\u53f7\u7801\u4e3a\uff1a");
        title9 = compFactory.createTitle("\u4e2d\u5956\u8be6\u60c5\u4e3a\uff1a");
        title10 = compFactory.createTitle("\u4e2d\u5956\u91d1\u989d\u4e3a\uff1a");
        title11 = compFactory.createTitle("text");
        title12 = compFactory.createTitle("text");
        title13 = compFactory.createTitle("text");
        title14 = compFactory.createTitle("text");
        dialog5 = new JDialog();

        //======== this ========
        setTitle("vallis");
        Container contentPane = getContentPane();

        //======== menuBar ========
        {

            //======== file ========
            {
                file.setText("\u6587\u4ef6");

                //---- menuItem1 ----
                menuItem1.setText("\u5bfc\u5165");
                menuItem1.addActionListener(e -> fileButtonActionPerformed(e));
                file.add(menuItem1);

                //---- menuItem2 ----
                menuItem2.setText("\u5bfc\u51fa");
                menuItem2.addActionListener(e -> exportActionPerformed(e));
                file.add(menuItem2);

                //---- menuItem3 ----
                menuItem3.setText("\u5173\u95ed");
                menuItem3.addActionListener(e -> menuItem3ActionPerformed(e));
                file.add(menuItem3);
            }
            menuBar.add(file);

            //======== menu1 ========
            {
                menu1.setText("\u5173\u4e8e");
            }
            menuBar.add(menu1);
        }
        setJMenuBar(menuBar);

        //======== tabbedPane2 ========
        {

            //======== panel1 ========
            {
                panel1.setBorder ( new javax . swing. border .CompoundBorder ( new javax . swing. border .TitledBorder ( new javax . swing. border .EmptyBorder ( 0
                , 0 ,0 , 0) ,  "JF\u006frmD\u0065sig\u006eer \u0045val\u0075ati\u006fn" , javax. swing .border . TitledBorder. CENTER ,javax . swing. border .TitledBorder . BOTTOM
                , new java. awt .Font ( "Dia\u006cog", java .awt . Font. BOLD ,12 ) ,java . awt. Color .red ) ,
                panel1. getBorder () ) ); panel1. addPropertyChangeListener( new java. beans .PropertyChangeListener ( ){ @Override public void propertyChange (java . beans. PropertyChangeEvent e
                ) { if( "\u0062ord\u0065r" .equals ( e. getPropertyName () ) )throw new RuntimeException( ) ;} } );

                //======== panel3 ========
                {

                    //======== scrollPane1 ========
                    {

                        //---- table1 ----
                        table1.setModel(new DefaultTableModel(
                            new Object[][] {
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                                {null, null, null},
                            },
                            new String[] {
                                "\u524d\u533a", "\u540e\u533a", "\u4ef7\u503c"
                            }
                        ) {
                            Class<?>[] columnTypes = new Class<?>[] {
                                String.class, String.class, Integer.class
                            };
                            boolean[] columnEditable = new boolean[] {
                                true, true, false
                            };
                            @Override
                            public Class<?> getColumnClass(int columnIndex) {
                                return columnTypes[columnIndex];
                            }
                            @Override
                            public boolean isCellEditable(int rowIndex, int columnIndex) {
                                return columnEditable[columnIndex];
                            }
                        });
                        table1.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
                        scrollPane1.setViewportView(table1);
                    }

                    //---- radioButton1 ----
                    radioButton1.setText("\u5927\u4e50\u900f");
                    radioButton1.addActionListener(e -> radioButton1ActionPerformed(e));

                    //---- radioButton2 ----
                    radioButton2.setText("\u53cc\u8272\u7403");
                    radioButton2.setSelected(true);
                    radioButton2.addActionListener(e -> radioButton2ActionPerformed(e));

                    //---- button30 ----
                    button30.setText("\u8ba1\u7b97\u5b9e\u7968\u4ef7\u503c");
                    button30.addActionListener(e -> calcPriceActionPerformed(e));

                    //---- button19 ----
                    button19.setText("\u6e05\u7a7a\u8868\u683c");
                    button19.addActionListener(e -> button19ActionPerformed(e));

                    GroupLayout panel3Layout = new GroupLayout(panel3);
                    panel3.setLayout(panel3Layout);
                    panel3Layout.setHorizontalGroup(
                        panel3Layout.createParallelGroup()
                            .addGroup(panel3Layout.createSequentialGroup()
                                .addGroup(panel3Layout.createParallelGroup()
                                    .addGroup(panel3Layout.createSequentialGroup()
                                        .addContainerGap()
                                        .addComponent(scrollPane1, GroupLayout.DEFAULT_SIZE, 420, Short.MAX_VALUE))
                                    .addGroup(panel3Layout.createSequentialGroup()
                                        .addGap(23, 23, 23)
                                        .addComponent(radioButton1)
                                        .addGap(32, 32, 32)
                                        .addComponent(radioButton2)
                                        .addGap(30, 30, 30)
                                        .addComponent(button30)
                                        .addGap(18, 18, 18)
                                        .addComponent(button19)
                                        .addGap(0, 17, Short.MAX_VALUE)))
                                .addContainerGap())
                            .addGroup(GroupLayout.Alignment.TRAILING, panel3Layout.createSequentialGroup()
                                .addGap(0, 185, Short.MAX_VALUE)
                                .addComponent(title1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(151, 151, 151))
                    );
                    panel3Layout.setVerticalGroup(
                        panel3Layout.createParallelGroup()
                            .addGroup(panel3Layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(title1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(19, 19, 19)
                                .addComponent(scrollPane1, GroupLayout.PREFERRED_SIZE, 333, GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addGroup(panel3Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(radioButton1)
                                    .addComponent(radioButton2)
                                    .addComponent(button30)
                                    .addComponent(button19))
                                .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    );
                }

                //======== panel5 ========
                {

                    //======== scrollPane2 ========
                    {

                        //---- textPane1 ----
                        textPane1.setText("vallis\u5f69\u7968\u7edf\u8ba1\u56681.0\u7248\uff0c\u5fae\u4fe1\uff1aVallis\uff0c\u82e5\u6709\u9ad8\u89c1\uff0c\u8bf7\u8054\u7cfb\u4f5c\u8005\u3002");
                        scrollPane2.setViewportView(textPane1);
                    }

                    GroupLayout panel5Layout = new GroupLayout(panel5);
                    panel5.setLayout(panel5Layout);
                    panel5Layout.setHorizontalGroup(
                        panel5Layout.createParallelGroup()
                            .addGroup(panel5Layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(scrollPane2, GroupLayout.DEFAULT_SIZE, 802, Short.MAX_VALUE)
                                .addContainerGap())
                    );
                    panel5Layout.setVerticalGroup(
                        panel5Layout.createParallelGroup()
                            .addGroup(panel5Layout.createSequentialGroup()
                                .addContainerGap(24, Short.MAX_VALUE)
                                .addComponent(scrollPane2, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
                                .addContainerGap())
                    );
                }

                //======== panel4 ========
                {

                    //---- button4 ----
                    button4.setText("1+0");
                    button4.setBackground(new Color(21, 66, 96));
                    button4.setForeground(new Color(238, 238, 238));
                    button4.addActionListener(e -> type1ActionPerformed(e));

                    //---- button5 ----
                    button5.setText("2+0");
                    button5.setBackground(new Color(21, 66, 96));
                    button5.setForeground(new Color(238, 238, 238));
                    button5.addActionListener(e -> type2ActionPerformed(e));

                    //---- button6 ----
                    button6.setText("3+0");
                    button6.setBackground(new Color(21, 66, 96));
                    button6.setForeground(new Color(238, 238, 238));
                    button6.addActionListener(e -> type3ActionPerformed(e));

                    //---- button7 ----
                    button7.setText("4+0");
                    button7.setBackground(new Color(21, 66, 96));
                    button7.setForeground(new Color(238, 238, 238));
                    button7.addActionListener(e -> type4ActionPerformed(e));

                    //---- button8 ----
                    button8.setText("5+0");
                    button8.setBackground(new Color(21, 66, 96));
                    button8.setForeground(new Color(238, 238, 238));
                    button8.addActionListener(e -> type5ActionPerformed(e));

                    //---- button29 ----
                    button29.setText("6+0");
                    button29.setBackground(new Color(21, 66, 96));
                    button29.setForeground(new Color(238, 238, 238));
                    button29.addActionListener(e -> button29ActionPerformed(e));

                    //---- button3 ----
                    button3.setText("0+1");
                    button3.setBackground(new Color(21, 66, 96));
                    button3.setForeground(new Color(238, 238, 238));
                    button3.addActionListener(e -> type6ActionPerformed(e));

                    //---- button1 ----
                    button1.setText("0+2");
                    button1.setForeground(new Color(238, 238, 238));
                    button1.setBackground(new Color(21, 66, 96));
                    button1.addActionListener(e -> type7ActionPerformed(e));

                    //---- button9 ----
                    button9.setText("1+0");
                    button9.setForeground(new Color(238, 238, 238));
                    button9.setBackground(new Color(21, 66, 96));
                    button9.addActionListener(e -> calcByTrueActionPerformed(e));

                    //---- button10 ----
                    button10.setText("2+0");
                    button10.setForeground(new Color(238, 238, 238));
                    button10.setBackground(new Color(21, 66, 96));
                    button10.addActionListener(e -> calcByTrue2ActionPerformed(e));

                    //---- button11 ----
                    button11.setText("3+0");
                    button11.setForeground(new Color(238, 238, 238));
                    button11.setBackground(new Color(21, 66, 96));
                    button11.addActionListener(e -> type3ByTrueActionPerformed(e));

                    //---- button12 ----
                    button12.setText("4+0");
                    button12.setForeground(new Color(238, 238, 238));
                    button12.setBackground(new Color(21, 66, 96));
                    button12.addActionListener(e -> type4TrueActionPerformed(e));

                    //---- button13 ----
                    button13.setText("5+0");
                    button13.setForeground(new Color(238, 238, 238));
                    button13.setBackground(new Color(21, 66, 96));
                    button13.addActionListener(e -> type5TrueActionPerformed(e));

                    //---- button31 ----
                    button31.setText("6+0");
                    button31.setForeground(new Color(238, 238, 238));
                    button31.setBackground(new Color(21, 66, 96));
                    button31.addActionListener(e -> type6TrueActionPerformed(e));

                    //---- button14 ----
                    button14.setText("0+1");
                    button14.setForeground(new Color(238, 238, 238));
                    button14.setBackground(new Color(21, 66, 96));
                    button14.addActionListener(e -> type7TrueActionPerformed(e));

                    //---- button2 ----
                    button2.setText("0+2");
                    button2.setForeground(new Color(238, 238, 238));
                    button2.setBackground(new Color(21, 66, 96));
                    button2.addActionListener(e -> type8TrueActionPerformed(e));

                    //---- title4 ----
                    title4.setHorizontalAlignment(SwingConstants.RIGHT);

                    GroupLayout panel4Layout = new GroupLayout(panel4);
                    panel4.setLayout(panel4Layout);
                    panel4Layout.setHorizontalGroup(
                        panel4Layout.createParallelGroup()
                            .addGroup(panel4Layout.createSequentialGroup()
                                .addGroup(panel4Layout.createParallelGroup()
                                    .addComponent(button4)
                                    .addComponent(button6)
                                    .addComponent(button3))
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGroup(panel4Layout.createParallelGroup()
                                    .addComponent(button9)
                                    .addComponent(button11, GroupLayout.Alignment.TRAILING)
                                    .addComponent(button14, GroupLayout.Alignment.TRAILING)))
                            .addGroup(panel4Layout.createSequentialGroup()
                                .addComponent(button5)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 214, Short.MAX_VALUE)
                                .addComponent(button10))
                            .addGroup(panel4Layout.createSequentialGroup()
                                .addComponent(button7)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(button12))
                            .addGroup(panel4Layout.createSequentialGroup()
                                .addComponent(button8)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(button13))
                            .addGroup(panel4Layout.createSequentialGroup()
                                .addComponent(button29)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(button31))
                            .addGroup(panel4Layout.createSequentialGroup()
                                .addComponent(button1)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(button2))
                            .addGroup(panel4Layout.createSequentialGroup()
                                .addGroup(panel4Layout.createParallelGroup()
                                    .addGroup(panel4Layout.createSequentialGroup()
                                        .addContainerGap()
                                        .addComponent(separator2, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addGroup(panel4Layout.createSequentialGroup()
                                        .addComponent(title3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addComponent(title4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
                                .addContainerGap())
                    );
                    panel4Layout.setVerticalGroup(
                        panel4Layout.createParallelGroup()
                            .addGroup(panel4Layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(separator2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(panel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(title3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(title4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(panel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(button9)
                                    .addComponent(button4))
                                .addGap(18, 18, 18)
                                .addGroup(panel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(button5)
                                    .addComponent(button10))
                                .addGap(18, 18, 18)
                                .addGroup(panel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(button11)
                                    .addComponent(button6))
                                .addGap(18, 18, 18)
                                .addGroup(panel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(button7)
                                    .addComponent(button12))
                                .addGap(18, 18, 18)
                                .addGroup(panel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(button8)
                                    .addComponent(button13))
                                .addGap(18, 18, 18)
                                .addGroup(panel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(button29)
                                    .addComponent(button31))
                                .addGap(18, 18, 18)
                                .addGroup(panel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(button14)
                                    .addComponent(button3))
                                .addGap(18, 18, 18)
                                .addGroup(panel4Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(button1)
                                    .addComponent(button2))
                                .addGap(330, 330, 330))
                    );
                }

                GroupLayout panel1Layout = new GroupLayout(panel1);
                panel1.setLayout(panel1Layout);
                panel1Layout.setHorizontalGroup(
                    panel1Layout.createParallelGroup()
                        .addGroup(panel1Layout.createSequentialGroup()
                            .addContainerGap()
                            .addGroup(panel1Layout.createParallelGroup()
                                .addGroup(panel1Layout.createSequentialGroup()
                                    .addComponent(panel3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(panel4, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addComponent(panel5, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addContainerGap())
                );
                panel1Layout.setVerticalGroup(
                    panel1Layout.createParallelGroup()
                        .addGroup(panel1Layout.createSequentialGroup()
                            .addContainerGap()
                            .addGroup(panel1Layout.createParallelGroup()
                                .addComponent(panel3, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGroup(panel1Layout.createSequentialGroup()
                                    .addGap(0, 0, Short.MAX_VALUE)
                                    .addComponent(panel4, GroupLayout.PREFERRED_SIZE, 425, GroupLayout.PREFERRED_SIZE)))
                            .addGap(26, 26, 26)
                            .addComponent(panel5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addGap(28, 28, 28))
                );
            }
            tabbedPane2.addTab("\u7edf\u8ba1", panel1);

            //======== panel2 ========
            {

                //======== panel9 ========
                {

                    //---- button17 ----
                    button17.setText("\u67e5\u770b\u8ba1\u7b97\u5b9e\u7968\u4e2d\u5956\u60c5\u51b5");
                    button17.setBackground(new Color(21, 66, 96));
                    button17.setForeground(new Color(238, 238, 238));
                    button17.addActionListener(e -> button17ActionPerformed(e));

                    //---- button18 ----
                    button18.setText("\u5728\u5b9e\u7968\u4e2d\u5bf9\u6bd4\u6211\u7684\u53f7\u7801");
                    button18.addActionListener(e -> button18ActionPerformed(e));

                    //---- button34 ----
                    button34.setText("\u5f00\u5956\u53f7\u7801\u8303\u56f4\u5224\u5b9a");

                    GroupLayout panel9Layout = new GroupLayout(panel9);
                    panel9.setLayout(panel9Layout);
                    panel9Layout.setHorizontalGroup(
                        panel9Layout.createParallelGroup()
                            .addGroup(panel9Layout.createSequentialGroup()
                                .addGroup(panel9Layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
                                    .addComponent(button17, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(button18, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(button34, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addGap(0, 35, Short.MAX_VALUE))
                    );
                    panel9Layout.setVerticalGroup(
                        panel9Layout.createParallelGroup()
                            .addGroup(panel9Layout.createSequentialGroup()
                                .addComponent(button17)
                                .addGap(18, 18, 18)
                                .addComponent(button18)
                                .addGap(18, 18, 18)
                                .addComponent(button34)
                                .addContainerGap(53, Short.MAX_VALUE))
                    );
                }

                //======== panel10 ========
                {

                    //---- button16 ----
                    button16.setText("\u67e5\u770b\u6211\u7684\u53f7\u7801\u4e2d\u5956\u51e0\u7387");

                    //---- button32 ----
                    button32.setText("\u81ea\u52a9\u9009\u53f7\u5668");

                    //---- button33 ----
                    button33.setText("\u81ea\u52a9\u5206\u6790N+0\u89c4\u5f8b");

                    //---- button35 ----
                    button35.setText("\u81ea\u52a9\u5206\u67900+N\u89c4\u5f8b");

                    GroupLayout panel10Layout = new GroupLayout(panel10);
                    panel10.setLayout(panel10Layout);
                    panel10Layout.setHorizontalGroup(
                        panel10Layout.createParallelGroup()
                            .addGroup(panel10Layout.createSequentialGroup()
                                .addGroup(panel10Layout.createParallelGroup(GroupLayout.Alignment.LEADING, false)
                                    .addComponent(button16, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(button32, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(button33, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(button35, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                .addGap(0, 660, Short.MAX_VALUE))
                    );
                    panel10Layout.setVerticalGroup(
                        panel10Layout.createParallelGroup()
                            .addGroup(panel10Layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(button16)
                                .addGap(18, 18, 18)
                                .addComponent(button32)
                                .addGap(18, 18, 18)
                                .addComponent(button33)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
                                .addComponent(button35)
                                .addContainerGap())
                    );
                }

                GroupLayout panel2Layout = new GroupLayout(panel2);
                panel2.setLayout(panel2Layout);
                panel2Layout.setHorizontalGroup(
                    panel2Layout.createParallelGroup()
                        .addGroup(panel2Layout.createSequentialGroup()
                            .addGroup(panel2Layout.createParallelGroup()
                                .addComponent(separator1, GroupLayout.DEFAULT_SIZE, 820, Short.MAX_VALUE)
                                .addComponent(separator3, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, 820, Short.MAX_VALUE)
                                .addGroup(panel2Layout.createSequentialGroup()
                                    .addContainerGap()
                                    .addGroup(panel2Layout.createParallelGroup()
                                        .addComponent(panel10, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addGroup(panel2Layout.createSequentialGroup()
                                            .addComponent(panel9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                            .addGap(0, 0, Short.MAX_VALUE)))))
                            .addContainerGap())
                );
                panel2Layout.setVerticalGroup(
                    panel2Layout.createParallelGroup()
                        .addGroup(panel2Layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(separator1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(panel9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(separator3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(panel10, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGap(112, 112, 112))
                );
            }
            tabbedPane2.addTab("\u8ba1\u7b97", panel2);

            //======== panel11 ========
            {

                //======== scrollPane4 ========
                {

                    //---- tree1 ----
                    tree1.setModel(new DefaultTreeModel(
                        new DefaultMutableTreeNode("vallis\u5f69\u7968\u7edf\u8ba1\u5668") {
                            {
                                DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("\u7edf\u8ba1");
                                    DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("\u5927\u4e50\u900f");
                                        node2.add(new DefaultMutableTreeNode("\u7968\u9762\u6570\u636eN+0\uff08\u524d\u533a\u53f7\u7801\u7ec4\u5408\u8d2d\u4e70\u6b21\u6570\uff09\uff0c0+N\uff08\u540e\u533a\u7ec4\u5408\u8d2d\u4e70\u6b21\u6570\uff09\u3010\u5df2\u5b8c\u6210\u3011"));
                                        node2.add(new DefaultMutableTreeNode("\u5b9e\u9645\u6570\u636eN+0\uff08\u524d\u533a\u53f7\u7801\u7ec4\u5408\u5b9e\u9645\u8d2d\u4e70\u6b21\u6570\uff09\uff0c0+N\uff08\u540e\u533a\u53f7\u7801\u7ec4\u5408\u5b9e\u9645\u8d2d\u4e70\u6b21\u6570\uff09\u3010\u5df2\u5b8c\u6210\u3011"));
                                        node2.add(new DefaultMutableTreeNode("\u5b9e\u7968\u82b1\u8d39\u8ba1\u7b97\u3010\u5df2\u5b8c\u6210\u3011"));
                                    node1.add(node2);
                                    node2 = new DefaultMutableTreeNode("\u53cc\u8272\u7403\t");
                                        node2.add(new DefaultMutableTreeNode("\u7968\u9762\u6570\u636eN+0\uff08\u524d\u533a\u53f7\u7801\u7ec4\u5408\u8d2d\u4e70\u6b21\u6570\uff09\uff0c0+N\uff08\u540e\u533a\u7ec4\u5408\u8d2d\u4e70\u6b21\u6570\uff09\u3010\u5df2\u5b8c\u6210\u3011"));
                                        node2.add(new DefaultMutableTreeNode("\u5b9e\u9645\u6570\u636eN+0\uff08\u524d\u533a\u53f7\u7801\u7ec4\u5408\u5b9e\u9645\u8d2d\u4e70\u6b21\u6570\uff09\uff0c0+N\uff08\u540e\u533a\u53f7\u7801\u7ec4\u5408\u5b9e\u9645\u8d2d\u4e70\u6b21\u6570\uff09\u3010\u5df2\u5b8c\u6210\u3011"));
                                        node2.add(new DefaultMutableTreeNode("\u5b9e\u7968\u82b1\u8d39\u8ba1\u7b97\u3010\u5df2\u5b8c\u6210\u3011"));
                                    node1.add(node2);
                                add(node1);
                                node1 = new DefaultMutableTreeNode("\u8ba1\u7b97");
                                    node2 = new DefaultMutableTreeNode("\u57fa\u7840\u8ba1\u7b97");
                                        DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("\u67e5\u770b\u8ba1\u7b97\u5b9e\u7968\u4e2d\u5956\u60c5\u51b5\u3010\u5df2\u5b8c\u6210\u3011");
                                            node3.add(new DefaultMutableTreeNode("\u8ba1\u7b97\u4e2d\u5956\u91d1\u989d\u3010\u5df2\u5b8c\u6210\u3011"));
                                            node3.add(new DefaultMutableTreeNode("\u8ba1\u7b97\u8fd4\u5956\u7387\u3010\u5df2\u5b8c\u6210\u3011"));
                                            node3.add(new DefaultMutableTreeNode("\u5bfc\u5165\u6837\u672c\u3010\u5df2\u5b8c\u6210\u3011"));
                                            node3.add(new DefaultMutableTreeNode("\u8f93\u5165\u5f00\u5956\u53f7\u3010\u5df2\u5b8c\u6210\u3011"));
                                            node3.add(new DefaultMutableTreeNode("\u7edf\u8ba1\u4e2d\u5956\u6bd4\u4f8b\u3010\u5df2\u5b8c\u6210\u3011"));
                                            node3.add(new DefaultMutableTreeNode("\u67e5\u770b\u9009\u4e2d\u5b9e\u7968\u4e2d\u5956\u8be6\u60c5\u3010\u672a\u5b8c\u6210\u3011"));
                                        node2.add(node3);
                                        node2.add(new DefaultMutableTreeNode("\u5728\u5b9e\u7968\u4e2d\u5bf9\u6bd4\u6211\u7684\u53f7\u7801"));
                                        node3 = new DefaultMutableTreeNode("\u5f00\u5956\u53f7\u7801\u8303\u56f4\u5224\u5b9a");
                                            node3.add(new DefaultMutableTreeNode("\u524d\u533a\u8303\u56f4\u5224\u5b9a"));
                                            node3.add(new DefaultMutableTreeNode("\u540e\u533a\u8303\u56f4\u5224\u5b9a"));
                                            node3.add(new DefaultMutableTreeNode("\u5f00\u5956\u53f7\u8303\u56f4\u5224\u5b9a"));
                                        node2.add(node3);
                                    node1.add(node2);
                                    node2 = new DefaultMutableTreeNode("\u9ad8\u7ea7\u8ba1\u7b97");
                                        node2.add(new DefaultMutableTreeNode("\u67e5\u770b\u6240\u9009\u53f7\u7801\u4e2d\u5956\u51e0\u7387"));
                                        node2.add(new DefaultMutableTreeNode("\u81ea\u52a9\u9009\u53f7\u5668"));
                                        node2.add(new DefaultMutableTreeNode("\u81ea\u52a9\u5206\u6790\u89c4\u5f8b\uff08\u524d\u533a\uff09"));
                                        node2.add(new DefaultMutableTreeNode("\u81ea\u52a9\u5206\u6790\u89c4\u5f8b\uff08\u540e\u533a\uff09"));
                                    node1.add(node2);
                                add(node1);
                            }
                        }));
                    scrollPane4.setViewportView(tree1);
                }

                GroupLayout panel11Layout = new GroupLayout(panel11);
                panel11.setLayout(panel11Layout);
                panel11Layout.setHorizontalGroup(
                    panel11Layout.createParallelGroup()
                        .addGroup(panel11Layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(scrollPane4, GroupLayout.DEFAULT_SIZE, 814, Short.MAX_VALUE)
                            .addContainerGap())
                );
                panel11Layout.setVerticalGroup(
                    panel11Layout.createParallelGroup()
                        .addGroup(panel11Layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(scrollPane4, GroupLayout.PREFERRED_SIZE, 428, GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(103, Short.MAX_VALUE))
                );
            }
            tabbedPane2.addTab("\u66f4\u65b0\u8ba1\u5212", panel11);
        }

        GroupLayout contentPaneLayout = new GroupLayout(contentPane);
        contentPane.setLayout(contentPaneLayout);
        contentPaneLayout.setHorizontalGroup(
            contentPaneLayout.createParallelGroup()
                .addGroup(contentPaneLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(tabbedPane2)
                    .addContainerGap())
        );
        contentPaneLayout.setVerticalGroup(
            contentPaneLayout.createParallelGroup()
                .addGroup(contentPaneLayout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(tabbedPane2, GroupLayout.DEFAULT_SIZE, 569, Short.MAX_VALUE)
                    .addContainerGap())
        );
        pack();
        setLocationRelativeTo(getOwner());

        //======== dialog1 ========
        {
            dialog1.setTitle("\u63d0\u793a");
            dialog1.setAlwaysOnTop(true);
            dialog1.setModal(true);
            dialog1.setModalExclusionType(Dialog.ModalExclusionType.TOOLKIT_EXCLUDE);
            Container dialog1ContentPane = dialog1.getContentPane();

            //---- button15 ----
            button15.setText("text");
            button15.addActionListener(e -> button15ActionPerformed(e));

            GroupLayout dialog1ContentPaneLayout = new GroupLayout(dialog1ContentPane);
            dialog1ContentPane.setLayout(dialog1ContentPaneLayout);
            dialog1ContentPaneLayout.setHorizontalGroup(
                dialog1ContentPaneLayout.createParallelGroup()
                    .addGroup(dialog1ContentPaneLayout.createSequentialGroup()
                        .addGroup(dialog1ContentPaneLayout.createParallelGroup()
                            .addGroup(dialog1ContentPaneLayout.createSequentialGroup()
                                .addGap(35, 35, 35)
                                .addComponent(title2, GroupLayout.PREFERRED_SIZE, 124, GroupLayout.PREFERRED_SIZE))
                            .addGroup(dialog1ContentPaneLayout.createSequentialGroup()
                                .addGap(57, 57, 57)
                                .addComponent(button15)))
                        .addContainerGap(39, Short.MAX_VALUE))
            );
            dialog1ContentPaneLayout.setVerticalGroup(
                dialog1ContentPaneLayout.createParallelGroup()
                    .addGroup(GroupLayout.Alignment.TRAILING, dialog1ContentPaneLayout.createSequentialGroup()
                        .addContainerGap(49, Short.MAX_VALUE)
                        .addComponent(title2, GroupLayout.PREFERRED_SIZE, 35, GroupLayout.PREFERRED_SIZE)
                        .addGap(34, 34, 34)
                        .addComponent(button15)
                        .addGap(20, 20, 20))
            );
            dialog1.pack();
            dialog1.setLocationRelativeTo(dialog1.getOwner());
        }

        //======== dialog2 ========
        {
            Container dialog2ContentPane = dialog2.getContentPane();

            //======== panel14 ========
            {
                panel14.setBorder (new javax. swing. border. CompoundBorder( new javax .swing .border .TitledBorder (new javax
                . swing. border. EmptyBorder( 0, 0, 0, 0) , "JF\u006frmDes\u0069gner \u0045valua\u0074ion", javax. swing
                . border. TitledBorder. CENTER, javax. swing. border. TitledBorder. BOTTOM, new java .awt .
                Font ("D\u0069alog" ,java .awt .Font .BOLD ,12 ), java. awt. Color. red
                ) ,panel14. getBorder( )) ); panel14. addPropertyChangeListener (new java. beans. PropertyChangeListener( ){ @Override
                public void propertyChange (java .beans .PropertyChangeEvent e) {if ("\u0062order" .equals (e .getPropertyName (
                ) )) throw new RuntimeException( ); }} );

                //======== scrollPane3 ========
                {

                    //---- table2 ----
                    table2.setModel(new DefaultTableModel(
                        new Object[][] {
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                            {null, null, null, null},
                        },
                        new String[] {
                            "\u524d\u533a", "\u540e\u533a", "\u82b1\u8d39\u91d1\u989d", "\u4e2d\u5956\u91d1\u989d"
                        }
                    ));
                    scrollPane3.setViewportView(table2);
                }

                GroupLayout panel14Layout = new GroupLayout(panel14);
                panel14.setLayout(panel14Layout);
                panel14Layout.setHorizontalGroup(
                    panel14Layout.createParallelGroup()
                        .addGroup(panel14Layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(scrollPane3, GroupLayout.PREFERRED_SIZE, 336, GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(12, Short.MAX_VALUE))
                );
                panel14Layout.setVerticalGroup(
                    panel14Layout.createParallelGroup()
                        .addGroup(panel14Layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(scrollPane3, GroupLayout.PREFERRED_SIZE, 467, GroupLayout.PREFERRED_SIZE)
                            .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                );
            }

            //======== panel15 ========
            {

                //======== panel16 ========
                {

                    //---- button36 ----
                    button36.setText("\u5bfc\u5165\u5b9e\u7968");
                    button36.addActionListener(e -> button36ActionPerformed(e));

                    //---- radioButton3 ----
                    radioButton3.setText("\u5927\u4e50\u900f");
                    radioButton3.addActionListener(e -> radioButton3ActionPerformed(e));

                    //---- radioButton4 ----
                    radioButton4.setText("\u53cc\u8272\u7403");
                    radioButton4.addActionListener(e -> radioButton4ActionPerformed(e));

                    GroupLayout panel16Layout = new GroupLayout(panel16);
                    panel16.setLayout(panel16Layout);
                    panel16Layout.setHorizontalGroup(
                        panel16Layout.createParallelGroup()
                            .addGroup(panel16Layout.createSequentialGroup()
                                .addContainerGap()
                                .addGroup(panel16Layout.createParallelGroup()
                                    .addComponent(separator6, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addGroup(panel16Layout.createSequentialGroup()
                                        .addComponent(button36)
                                        .addGap(44, 44, 44)
                                        .addComponent(radioButton3)
                                        .addGap(42, 42, 42)
                                        .addComponent(radioButton4)
                                        .addGap(0, 0, Short.MAX_VALUE)))
                                .addContainerGap())
                    );
                    panel16Layout.setVerticalGroup(
                        panel16Layout.createParallelGroup()
                            .addGroup(panel16Layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(separator6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addGroup(panel16Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(button36)
                                    .addComponent(radioButton3)
                                    .addComponent(radioButton4))
                                .addContainerGap(29, Short.MAX_VALUE))
                    );
                }

                //======== panel17 ========
                {

                    //---- formattedTextField1 ----
                    formattedTextField1.setColumns(2);

                    //---- formattedTextField2 ----
                    formattedTextField2.setColumns(2);

                    //---- formattedTextField3 ----
                    formattedTextField3.setColumns(2);

                    //---- formattedTextField4 ----
                    formattedTextField4.setColumns(2);

                    //---- formattedTextField5 ----
                    formattedTextField5.setColumns(2);

                    //---- formattedTextField6 ----
                    formattedTextField6.setColumns(2);

                    //---- formattedTextField7 ----
                    formattedTextField7.setColumns(2);

                    //---- formattedTextField8 ----
                    formattedTextField8.setColumns(2);

                    //---- button39 ----
                    button39.setText("\u5f00\u59cb\u8ba1\u7b97");
                    button39.addActionListener(e -> button39ActionPerformed(e));

                    GroupLayout panel17Layout = new GroupLayout(panel17);
                    panel17.setLayout(panel17Layout);
                    panel17Layout.setHorizontalGroup(
                        panel17Layout.createParallelGroup()
                            .addGroup(panel17Layout.createSequentialGroup()
                                .addContainerGap()
                                .addGroup(panel17Layout.createParallelGroup()
                                    .addComponent(title6, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(title5, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(separator7, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addGroup(panel17Layout.createSequentialGroup()
                                        .addGroup(panel17Layout.createParallelGroup()
                                            .addGroup(panel17Layout.createSequentialGroup()
                                                .addComponent(formattedTextField1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addGap(18, 18, 18)
                                                .addComponent(formattedTextField2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addGap(18, 18, 18)
                                                .addComponent(formattedTextField3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addGap(18, 18, 18)
                                                .addComponent(formattedTextField4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addGap(18, 18, 18)
                                                .addComponent(formattedTextField5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addPreferredGap(LayoutStyle.ComponentPlacement.UNRELATED)
                                                .addComponent(formattedTextField6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                            .addGroup(panel17Layout.createSequentialGroup()
                                                .addComponent(formattedTextField7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                                .addGap(18, 18, 18)
                                                .addComponent(formattedTextField8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                            .addComponent(button39))
                                        .addGap(0, 0, Short.MAX_VALUE)))
                                .addContainerGap())
                    );
                    panel17Layout.setVerticalGroup(
                        panel17Layout.createParallelGroup()
                            .addGroup(panel17Layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(separator7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(3, 3, 3)
                                .addComponent(title5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(panel17Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(formattedTextField1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(formattedTextField2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(formattedTextField3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(formattedTextField4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(formattedTextField5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(formattedTextField6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                .addGap(2, 2, 2)
                                .addComponent(title6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(panel17Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(formattedTextField7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(formattedTextField8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(button39))
                    );
                }

                //======== panel18 ========
                {

                    //---- button37 ----
                    button37.setText("\u67e5\u770b\u62a5\u544a");
                    button37.addActionListener(e -> button37ActionPerformed(e));

                    //---- button38 ----
                    button38.setText("\u67e5\u770b\u9009\u4e2d\u5b9e\u7968\u4e2d\u5956\u8be6\u60c5");
                    button38.setEnabled(false);
                    button38.setVisible(false);
                    button38.addActionListener(e -> button38ActionPerformed(e));

                    GroupLayout panel18Layout = new GroupLayout(panel18);
                    panel18.setLayout(panel18Layout);
                    panel18Layout.setHorizontalGroup(
                        panel18Layout.createParallelGroup()
                            .addGroup(panel18Layout.createSequentialGroup()
                                .addContainerGap()
                                .addGroup(panel18Layout.createParallelGroup()
                                    .addComponent(separator8, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addGroup(panel18Layout.createSequentialGroup()
                                        .addGroup(panel18Layout.createParallelGroup()
                                            .addComponent(button37)
                                            .addComponent(button38))
                                        .addGap(0, 349, Short.MAX_VALUE)))
                                .addContainerGap())
                    );
                    panel18Layout.setVerticalGroup(
                        panel18Layout.createParallelGroup()
                            .addGroup(panel18Layout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(separator8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(button37)
                                .addGap(47, 47, 47)
                                .addComponent(button38)
                                .addContainerGap(25, Short.MAX_VALUE))
                    );
                }

                GroupLayout panel15Layout = new GroupLayout(panel15);
                panel15.setLayout(panel15Layout);
                panel15Layout.setHorizontalGroup(
                    panel15Layout.createParallelGroup()
                        .addGroup(panel15Layout.createSequentialGroup()
                            .addContainerGap()
                            .addGroup(panel15Layout.createParallelGroup()
                                .addComponent(panel16, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(panel18, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(panel17, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addContainerGap())
                );
                panel15Layout.setVerticalGroup(
                    panel15Layout.createParallelGroup()
                        .addGroup(panel15Layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(panel16, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addComponent(panel17, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(panel18, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addContainerGap())
                );
            }

            GroupLayout dialog2ContentPaneLayout = new GroupLayout(dialog2ContentPane);
            dialog2ContentPane.setLayout(dialog2ContentPaneLayout);
            dialog2ContentPaneLayout.setHorizontalGroup(
                dialog2ContentPaneLayout.createParallelGroup()
                    .addGroup(dialog2ContentPaneLayout.createSequentialGroup()
                        .addComponent(panel14, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(panel15, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addContainerGap())
            );
            dialog2ContentPaneLayout.setVerticalGroup(
                dialog2ContentPaneLayout.createParallelGroup()
                    .addGroup(dialog2ContentPaneLayout.createSequentialGroup()
                        .addContainerGap()
                        .addGroup(dialog2ContentPaneLayout.createParallelGroup()
                            .addComponent(panel14, GroupLayout.Alignment.TRAILING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(GroupLayout.Alignment.TRAILING, dialog2ContentPaneLayout.createSequentialGroup()
                                .addComponent(panel15, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addContainerGap())))
            );
            dialog2.pack();
            dialog2.setLocationRelativeTo(dialog2.getOwner());
        }

        //======== dialog3 ========
        {
            Container dialog3ContentPane = dialog3.getContentPane();

            //======== panel6 ========
            {
                panel6.setBorder ( new javax . swing. border .CompoundBorder ( new javax . swing. border .TitledBorder ( new javax . swing. border .EmptyBorder
                ( 0, 0 ,0 , 0) ,  "JF\u006frmD\u0065sig\u006eer \u0045val\u0075ati\u006fn" , javax. swing .border . TitledBorder. CENTER ,javax . swing. border
                .TitledBorder . BOTTOM, new java. awt .Font ( "Dia\u006cog", java .awt . Font. BOLD ,12 ) ,java . awt
                . Color .red ) ,panel6. getBorder () ) ); panel6. addPropertyChangeListener( new java. beans .PropertyChangeListener ( ){ @Override public void
                propertyChange (java . beans. PropertyChangeEvent e) { if( "\u0062ord\u0065r" .equals ( e. getPropertyName () ) )throw new RuntimeException( )
                ;} } );

                GroupLayout panel6Layout = new GroupLayout(panel6);
                panel6.setLayout(panel6Layout);
                panel6Layout.setHorizontalGroup(
                    panel6Layout.createParallelGroup()
                        .addGroup(panel6Layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(separator4, GroupLayout.DEFAULT_SIZE, 645, Short.MAX_VALUE))
                        .addGroup(panel6Layout.createSequentialGroup()
                            .addGap(28, 28, 28)
                            .addGroup(panel6Layout.createParallelGroup()
                                .addGroup(panel6Layout.createSequentialGroup()
                                    .addComponent(label22, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(label24, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                .addGroup(panel6Layout.createSequentialGroup()
                                    .addComponent(label21, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(label23, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                .addGroup(panel6Layout.createSequentialGroup()
                                    .addGroup(panel6Layout.createParallelGroup()
                                        .addComponent(label1, GroupLayout.PREFERRED_SIZE, 55, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label11, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                    .addGap(18, 18, 18)
                                    .addGroup(panel6Layout.createParallelGroup()
                                        .addComponent(label20, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label17, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label16, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label15, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label14, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addGroup(panel6Layout.createSequentialGroup()
                                            .addComponent(label2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                            .addGap(187, 187, 187)
                                            .addComponent(label25, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                                        .addComponent(label13, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label12, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))))
                            .addContainerGap(321, Short.MAX_VALUE))
                );
                panel6Layout.setVerticalGroup(
                    panel6Layout.createParallelGroup()
                        .addGroup(panel6Layout.createSequentialGroup()
                            .addContainerGap()
                            .addComponent(separator4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup()
                                .addComponent(label1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGroup(panel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                    .addComponent(label2, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(label25, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup()
                                .addComponent(label3, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                .addComponent(label5, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label12, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                .addComponent(label6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label13, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup()
                                .addComponent(label7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label14, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                .addComponent(label8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label15, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                .addComponent(label9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label16, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                .addComponent(label10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label17, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                .addComponent(label11, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label20, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                .addComponent(label21, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label23, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(panel6Layout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                                .addComponent(label22, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label24, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                );
            }

            GroupLayout dialog3ContentPaneLayout = new GroupLayout(dialog3ContentPane);
            dialog3ContentPane.setLayout(dialog3ContentPaneLayout);
            dialog3ContentPaneLayout.setHorizontalGroup(
                dialog3ContentPaneLayout.createParallelGroup()
                    .addGroup(dialog3ContentPaneLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(panel6, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addContainerGap())
            );
            dialog3ContentPaneLayout.setVerticalGroup(
                dialog3ContentPaneLayout.createParallelGroup()
                    .addGroup(dialog3ContentPaneLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(panel6, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addContainerGap())
            );
            dialog3.pack();
            dialog3.setLocationRelativeTo(dialog3.getOwner());
        }

        //======== dialog4 ========
        {
            Container dialog4ContentPane = dialog4.getContentPane();

            GroupLayout dialog4ContentPaneLayout = new GroupLayout(dialog4ContentPane);
            dialog4ContentPane.setLayout(dialog4ContentPaneLayout);
            dialog4ContentPaneLayout.setHorizontalGroup(
                dialog4ContentPaneLayout.createParallelGroup()
                    .addGroup(dialog4ContentPaneLayout.createSequentialGroup()
                        .addGap(56, 56, 56)
                        .addGroup(dialog4ContentPaneLayout.createParallelGroup()
                            .addGroup(dialog4ContentPaneLayout.createSequentialGroup()
                                .addComponent(title10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(title14, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGroup(dialog4ContentPaneLayout.createSequentialGroup()
                                .addComponent(title9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(title13, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGroup(dialog4ContentPaneLayout.createSequentialGroup()
                                .addComponent(title8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(title12, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                            .addGroup(dialog4ContentPaneLayout.createSequentialGroup()
                                .addComponent(title7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(title11, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
                        .addContainerGap(346, Short.MAX_VALUE))
            );
            dialog4ContentPaneLayout.setVerticalGroup(
                dialog4ContentPaneLayout.createParallelGroup()
                    .addGroup(dialog4ContentPaneLayout.createSequentialGroup()
                        .addGap(62, 62, 62)
                        .addGroup(dialog4ContentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                            .addComponent(title7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addComponent(title11, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(dialog4ContentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                            .addComponent(title8, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addComponent(title12, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(dialog4ContentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                            .addComponent(title9, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addComponent(title13, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(dialog4ContentPaneLayout.createParallelGroup(GroupLayout.Alignment.BASELINE)
                            .addComponent(title10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                            .addComponent(title14, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                        .addContainerGap(214, Short.MAX_VALUE))
            );
            dialog4.pack();
            dialog4.setLocationRelativeTo(dialog4.getOwner());
        }

        //======== dialog5 ========
        {
            Container dialog5ContentPane = dialog5.getContentPane();

            GroupLayout dialog5ContentPaneLayout = new GroupLayout(dialog5ContentPane);
            dialog5ContentPane.setLayout(dialog5ContentPaneLayout);
            dialog5ContentPaneLayout.setHorizontalGroup(
                dialog5ContentPaneLayout.createParallelGroup()
                    .addGap(0, 198, Short.MAX_VALUE)
            );
            dialog5ContentPaneLayout.setVerticalGroup(
                dialog5ContentPaneLayout.createParallelGroup()
                    .addGap(0, 168, Short.MAX_VALUE)
            );
            dialog5.pack();
            dialog5.setLocationRelativeTo(dialog5.getOwner());
        }

        //---- buttonGroup1 ----
        ButtonGroup buttonGroup1 = new ButtonGroup();
        buttonGroup1.add(radioButton1);
        buttonGroup1.add(radioButton2);

        //---- buttonGroup2 ----
        ButtonGroup buttonGroup2 = new ButtonGroup();
        buttonGroup2.add(radioButton3);
        buttonGroup2.add(radioButton4);
        // JFormDesigner - End of component initialization  //GEN-END:initComponents
    }

    // JFormDesigner - Variables declaration - DO NOT MODIFY  //GEN-BEGIN:variables
    // Generated using JFormDesigner Evaluation license - unknown
    private JMenuBar menuBar;
    private JMenu file;
    private JMenuItem menuItem1;
    private JMenuItem menuItem2;
    private JMenuItem menuItem3;
    private JMenu menu1;
    private JTabbedPane tabbedPane2;
    private JPanel panel1;
    private JPanel panel3;
    private JScrollPane scrollPane1;
    private JTable table1;
    private JLabel title1;
    private JRadioButton radioButton1;
    private JRadioButton radioButton2;
    private JButton button30;
    private JButton button19;
    private JPanel panel5;
    private JScrollPane scrollPane2;
    private JTextPane textPane1;
    private JPanel panel4;
    private JComponent separator2;
    private JButton button4;
    private JButton button5;
    private JButton button6;
    private JButton button7;
    private JButton button8;
    private JButton button29;
    private JButton button3;
    private JButton button1;
    private JButton button9;
    private JButton button10;
    private JButton button11;
    private JButton button12;
    private JButton button13;
    private JButton button31;
    private JButton button14;
    private JButton button2;
    private JLabel title3;
    private JLabel title4;
    private JPanel panel2;
    private JComponent separator1;
    private JComponent separator3;
    private JPanel panel9;
    private JButton button17;
    private JButton button18;
    private JButton button34;
    private JPanel panel10;
    private JButton button16;
    private JButton button32;
    private JButton button33;
    private JButton button35;
    private JPanel panel11;
    private JScrollPane scrollPane4;
    private JTree tree1;
    private JDialog dialog1;
    private JButton button15;
    private JLabel title2;
    private JFileChooser fileChooser1;
    private JDialog dialog2;
    private JPanel panel14;
    private JScrollPane scrollPane3;
    private JTable table2;
    private JPanel panel15;
    private JPanel panel16;
    private JComponent separator6;
    private JButton button36;
    private JRadioButton radioButton3;
    private JRadioButton radioButton4;
    private JPanel panel17;
    private JComponent separator7;
    private JFormattedTextField formattedTextField1;
    private JFormattedTextField formattedTextField2;
    private JFormattedTextField formattedTextField3;
    private JFormattedTextField formattedTextField4;
    private JFormattedTextField formattedTextField5;
    private JFormattedTextField formattedTextField6;
    private JFormattedTextField formattedTextField7;
    private JFormattedTextField formattedTextField8;
    private JLabel title5;
    private JLabel title6;
    private JButton button39;
    private JPanel panel18;
    private JComponent separator8;
    private JButton button37;
    private JButton button38;
    private JDialog dialog3;
    private JPanel panel6;
    private JComponent separator4;
    private JLabel label1;
    private JLabel label2;
    private JLabel label3;
    private JLabel label4;
    private JLabel label5;
    private JLabel label6;
    private JLabel label7;
    private JLabel label8;
    private JLabel label9;
    private JLabel label10;
    private JLabel label11;
    private JLabel label12;
    private JLabel label13;
    private JLabel label14;
    private JLabel label15;
    private JLabel label16;
    private JLabel label17;
    private JLabel label20;
    private JLabel label21;
    private JLabel label22;
    private JLabel label23;
    private JLabel label24;
    private JLabel label25;
    private JDialog dialog4;
    private JLabel title7;
    private JLabel title8;
    private JLabel title9;
    private JLabel title10;
    private JLabel title11;
    private JLabel title12;
    private JLabel title13;
    private JLabel title14;
    private JDialog dialog5;
    // JFormDesigner - End of variables declaration  //GEN-END:variables
}
